A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise expressly reserves all rights whatsoever in said copyright works.
1. Field
The present invention relates to the field of networking and,in particular, to a method and apparatus for dynamically managing the topology of a data network.
2. Background Information
As computer technology has evolved, so too has the use of data networks to communicatively couple computer systems together, enabling them to communicate with one another. Data networks come in many different sizes and network topologies. From small peer-to-peer networks enabling multiple users of a small office to share data, to more formal local area networks (LAN), wide-area and global data networks (e.g., the Internet). Those skilled in the art will appreciate that the management of such data networks has become a mission critical function for many enterprises.
One commonly used measure of network performance and manageability is the time required by network core devices to identify optimal routing paths (or, re-routing in the event of failure) between network elements, a measure colloquially referred to as a network""s xe2x80x9cconvergence timexe2x80x9d. Those skilled in the art will appreciate that convergence is not an easy task, as there often exists a number of alternate paths to each network element, often resulting in undesirable physical loops. Accordingly, many network devices utilize routing protocols with convergence algorithms that are designed to identify and eliminate unwanted physical loops. The complexity of the routing protocol and, consequently, the convergence algorithm is often dictated by the processing power of the network devices populating the network and the network layer of interest.
The processing power of network devices varies between devices and, quite often, on which xe2x80x9clayerxe2x80x9d of the network the device is to operate. Those skilled in the art will appreciate that use of the term xe2x80x9cnetwork layerxe2x80x9d refers to the layers defined in the Open System Interconnection (OSI) network model. Routers operating at the network layer (layer 3), for example, are typically configured with more processing power and memory than bridges (or switches, which are really just multiport bridges) operating at the link or Media Access Control (MAC) layer (layer 2). Accordingly, the protocols employed by network devices vary depending upon which network layer is being discussed.
In general, there are two types of convergence protocols: link state protocols and distance vector protocols. Link state protocols are typically used by routers in layer 3 of the network to identify optimal network routing paths by flooding routing information to all of the network devices resident within that layer of the data network. In accordance with the link state protocol, each network device sends only that portion of the routing table that describes the state of its own links. One popular example of a link state protocol is the Open Shortest Path First (OSPF) protocol developed and standardized by the Internet Engineering Task Force (IETF).
In contrast, distance vector algorithms are typically utilized by bridges to identify the optimal network routing paths at the link layer (e.g., layer 2) of the OSI network model. A popular prior art distance vector algorithm utilized in layer 2 convergence protocols is the Spanning Tree Protocol (STP), developed by Radia Perlman and standardized in IEEE 801.2d. STP is a protocol designed to allow bridges to map a network topology (e.g., the active topology) while eliminating loops which could lead to broadcast storms essentially crippling network performance. Those skilled in the art will appreciate, however, that as network traffic has increased, the popularity of the STP as a network management protocol has diminished due to the inherent latency required to establish new routing paths once a fault has been detected. In some instances, it may take several minutes to reconnect a network device that has been isolated due to a fault in the network. Due to the relatively lengthy convergence times associated with STP, networking administrators have been pressuring device manufacturers for an improved layer 2 networking device that reduces or eliminates the reliance on distance vector algorithms to control the network topology of a data network.
Several solutions have been proposed and implemented in switching products by various vendors, most of which come in the form of a proprietary enhancement to the STP standard protocol. One example of just such a solution is the UplinkFast(trademark) technology from Cisco Systems Inc. of San Jose, Calif. The Spanning Tree UplinkFast(trademark) protocol is designed to improve convergence time, while still adhering to the basic STP standard. Simplistically, the UplinkFast(trademark) solution creates virtual groups of ports into uplink groups wherein the STP configures ports an uplink group at a time. One of the limitations of the UplinkFast(trademark) solution, however, is that it physically turns links off when potential loops are identified. Those skilled in the art will appreciate that turning off a link, as done in the UplinkFast(trademark) solution, eliminates the possibility for redundancy, thereby increasing the convergence time should a link fail. In addition, although the UplinkFast(trademark) approach has, indeed, reduced the time required for basic STP convergence, it is an incremental improvement at best.
Another drawback of the STP is its inability to accommodate load balancing, and other more advanced network services such as Quality of Service (QoS). That is, insofar as the STP establishes an active topology void of redundant paths and loops, it forecloses any opportunity for load sharing among multiple links leading to the same point insofar as those multiple links may well represent a broadcast loop. To date, this limitation of the distance vector protocols have not been addressed by device manufacturers.
Thus, it would be desirable to provide an innovative solution that improves convergence time while providing for load sharing and other advanced network services, without negatively affecting network reliability attributes. More specifically, a method and apparatus for dynamically managing the topology of a data network that is unencumbered by the inherent deficiencies and limitations commonly associated with the spanning tree protocol and other prior art solutions.
In accordance with the teachings of the present invention, a method and apparatus for dynamically managing the topology of a data network is provided. In particular, in accordance with one embodiment of the present invention, the apparatus comprises a filtering database, a link-state database, and a controller. Coupled to each of the filtering database and the link-state database, the controller processes data received from remote network devices based, at least in part, on distance vector information stored in the filtering database, link state information stored in the link state database, and content of the received data.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with accompanying figures.